package com.mapaoer.user.entity;

import lombok.Data;
import com.baomidou.mybatisplus.annotation.*;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;

/**
 * 开发者技能关联实体类
 * 表示开发者与技能标签之间的多对多关系
 */
@Data
@TableName("developer_skill")
public class DeveloperSkill {

    @TableId(type = IdType.AUTO)
    private Long id;

    // 开发者ID
    @TableField(value = "developer_id", nullable = false)
    private Long developerId;

    // 技能标签ID
    @TableField(value = "skill_id", nullable = false)
    private Long skillId;

    // 熟练程度：BEGINNER(初级), INTERMEDIATE(中级), ADVANCED(高级), EXPERT(专家)
    private ProficiencyLevel level;

    // 使用年限
    private Integer experienceYears;

    // 创建时间
    @TableField(fill = FieldFill.INSERT)
    private LocalDateTime createTime;

    // 熟练程度枚举
    public enum ProficiencyLevel {
        BEGINNER, INTERMEDIATE, ADVANCED, EXPERT
    }
}